In traditional computing a single central processing unit (CPU) sequentially executes a single instruction on a single piece of data in a single stream, executing one operation at a time. As the data processing demands of the world increased, the amount of data to be operated upon exploded.
In stream processing multiple data streams from potentially multiple sources can be processed in real time. “Streaming” or stream processing means receiving streams of data, processing the data and streaming it back out as a single flow of data. Large amounts of memory and/or other resources can be consumed when joining multiple data streams because data from one data stream typically is held in memory or on a storage medium while waiting for matching events from another data stream to arrive.